home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 2 / Amoszine 2.adf / MORE_SOURCE_CODE / Powerpacker.AMOS / Powerpacker.amosSourceCode
AMOS Source Code  |  1992-02-26  |  2KB  |  69 lines

  1. '===================================================================== 
  2. ' Compression tutorial, By A. Smith for Amoszine 
  3.  
  4. ' "Compressing with PowerPacker" - Using Ppload and Ppsave.
  5. '===================================================================== 
  6.  
  7.  
  8. ' Open lowres screen to hold our image 
  9.  
  10. Screen Open 0,320,256,32,Lowres
  11. Flash Off : Curs Off 
  12.  
  13. ' Open screen for messages 
  14.  
  15. Screen Open 1,320,30,2,Lowres
  16. Screen Display 1,,150,,
  17. Flash Off : Curs Off 
  18.  
  19. ' Load the IFF image 
  20.  
  21. Screen 0
  22. Load Iff Fsel$("","","Please select an IFF picture","")
  23. Wait Vbl 
  24.  
  25. ' Pack as screen into bank 15 (what a poet!) 
  26.  
  27. Screen 1 : Print "Packing picture into bank 15" : Screen 0
  28. Spack 0 To 15
  29.  
  30. ' Save memory bank to disk 
  31.  
  32. Screen 1 : Print "Size of packed image ";Length(15) : Screen 0
  33. F$=Fsel$("","","Give filename for ABK image","Ensure it ends in .ABK")
  34. Save F$,15
  35.  
  36. ' Get size of saved ABK file and store in L
  37.  
  38. Open In 1,F$
  39. L=Lof(1)
  40. Close 1
  41.  
  42. ' Powerpack memory bank 15 with 'best' compression 
  43.  
  44. Screen 1 : Print "Powerpacking memory bank" : Screen 0
  45. Cls 
  46. F$=Fsel$("","","Give filename for Powerpacked file","Ensure it ends in .PP")
  47.  Extension_5_0106 F$,15,4
  48.  
  49. Screen 1 : Print "File powerpacked!" : Screen 0
  50.  
  51. ' Reopen the file I saved out so the length of the file can be returned. 
  52.  
  53. Open In 1,F$
  54.  
  55. ' Get length of file and store in SIZEOFFILE 
  56.  
  57. SIZEOFFILE=Lof(1)
  58. Close 1
  59.  
  60. ' Decompress powerpacked memory bank and store in bank 15. 
  61.  
  62.  Extension_5_0120 F$,15
  63.  
  64. ' Redisplay the picture!   
  65.  
  66. Unpack 15 To 0
  67. Screen To Front 1
  68.  
  69. Screen 1 : Print "Saved ";L-SIZEOFFILE;" bytes!"